#ifndef CPP_DEVICE_INFO_H
#define CPP_DEVICE_INFO_H

//@brief 设备信息
//@author cvte
//@description 提供设备信息的获取和设置功能
class DeviceInfo {
   public:
    static DeviceInfo* getInstance();
    //@method 获取设备版本号，例如F0501F.20190806.1.0.0
    const char* getVersion();
    //@method 获取设备短版本号，例如1.0.0
    const char* getShortVersion();
    //@method 获取设备名，例如F0501F
    const char* getName();
    //@method 获取设备Wifi MAC，例如AA:BB:CC:DD:EE:FF
    const char* getWifiMac();
    //@method 获取设备序列号
    const char* getSN();

   private:
    static DeviceInfo* sInstance;
    char mVersion[32];
    char mName[16];
    char mVersionShort[16];
    char mWifiMac[24];
    char mSN[64];

    DeviceInfo();
    ~DeviceInfo();
    void initInfo();
};

#endif